<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
        var person = {};
        /*
         要修改属性默认的特性，必须使用Object.defineProperty()方法，
         这个方法接收三个参数：属性所在对象、属性的名字和一个描述符对象（
         描述符必须为：configurable、enumerable、writable和value）。
         设置一个或多个值，可以修改对应的特性值。
         */
        Object.defineProperty(person, 'name', {
            writable: false,//true可修改，false是只读
            value: 'Rick'
        });

        console.log(person.name); // Rick
        person.name = 'Cole';
        console.log(person.name); // 仍然是Rick，因为name属性的writable特性设置的为false

    </script>
</head>
<body>
    <h2>js对象实验</h2>
    <p>
        js的面向对象
        变量，可以是数值，也可以是函数，也可以对象
        总之，全是对象。

        继承，是为简洁表现对象属性扩展
    </p>


    <a href="jso2.html">下一个访问器属性</a>
    <a href="jso3.html">创建对象</a>
    <a href="jso4.html">原型模式创建对象</a>
    <a href="jsobject/jso5.html">组合使用构造函数和原型模式</a>
    <a href="jsobject/jso6.html">寄生构造函数模式</a>
    <a href="jsobject/jso7.html">稳妥构造函数模式</a>
    <h2>继承</h2>
    <a href="jsobject/jso8.html">原型链</a>
    <a href="jsobject/jso9.html">借用构造函数</a>
    <a href="jsobject/jso10.html"> 组合继承（常用模式）</a>
    <a href="jsobject/jso11.html">原型式继承</a>
    <a href="jsobject/jso12.html">寄生式继承</a>
    <a href="jsobject/jso13.html">寄生组合继承</a>
</body>
</html>